1. Field of the Invention
The present invention relates to an error correction method and apparatus for minimizing the subjective effects of errors in facsimile transmission.
2. Discussion of Related Art
In facsimile transmission, sequences of picture elements are transmitted in coded form. The code words may have different lengths and no ambiguous beginning or end marking. The code words are transmitted in succession with coded end of line (EOL) designations transmitted after each group of code words representing a printed line of picture elements. Each line contains a predetermined number of elements. For example, the present standard is 1728 picture elements per line.
The problem of detecting and correcting for the effects of errors in transmitted picture elements (pels) is significant. When an error occurs in one picture element of a line, all of the following picture elements in that line can be affected. This problem is compounded by two-dimensional coding techniques which are presently used to reduce transmission time. This is a line-by-line coding method in which the position of each changing picture element on the current or coding line is coded with respect to the position of the corresponding reference element situated on either the coding line or the reference line which lies immediately above the coding line. After the coding line has been coded, it becomes the reference line for the next coding line. In this connection, a changing element is defined as an element whose "color" (i.e. black or white) is different from that of the previous element along the same scan line.
Conventionally, a one-dimensional line is first transmitted. This is a line of data composed of a series of variable length code words. Each code word represents a run length of either all white or all black. White run lengths and black run lengths alternate. The white and black run lengths are unambiguously coded based on a predetermined code.
The one-dimensional code line then acts as a reference for the first two-dimensional coding line. This line then acts as a reference for the second two-dimensional coding line and so on. Accordingly, it can be seen that if an error occurs in any one line, the following two-dimensional lines will also be in error. In order to limit this successive error generation, a one-dimensional line is used as every, for example, fourth transmitted line. Thus, an error generated in any one line will extend to a maximum of four lines in total.
There are four alternative error processing techniques currently being used. In each, an erroneous line is determined either when no word in the applicable code table matches a particular received bit pattern, or if the decoded signals are not exactly 1728 pels per line. In this latter case, an EOL occurs before 1728 pels have written, or more than 1728 pels are written before the EOL is decoded.
In one error coding technique, the first erroneous line is printed white, and all subsequent lines are printed white until a one-dimensional line is correctly decoded. In the following discussion this technique will be referred to as print white or PW.
A second technique comprises replacing the first erroneous line (X) by the previous correctly received line (X-1), and replacing all subsequent lines by X-1 until a one-dimensional line is correctly coded. In the following discussion, this technique will be referred to as the print previous line or PPL technique.
The third error processing technique is referred to as print previous line/white or PLW. This technique is a combination of the previous two. The first erroneous line (X) is replaced by the previous correctly received line (X-1), and all subsequent lines are printed white until a one-dimensional line is correctly decoded.
The fourth error processing technique is known as normal decode/previous line or NDPL. In this case, the first erroneous line is decoded and printed in the normal manner up to the point where the error is detected. This point on the remainder of the first erroneous line is replaced by the corresponding picture elements in the "previous line". The resulting "corrected" line is then used as the new "previous line" and the process is repeated until a one-dimensional line is correctly decoded.
FIGS. 1-4 show, respectively, four output documents which were transmitted with the same error set but were operated on using PW, PPL, PLW and NDPL error processing techniques, respectively.
A slight but definite improvement in legibility and quality of PLW can be seen in FIG. 4 relative to PW in FIG. 1. This is caused by the use of the previous line for the first erroneous line, which is obviously a superior substitution over all white.
Comparing PPL to PLW, it can be seen that the quality of PPL is superior since the occurrence of error streaks has been greatly reduced. On the other hand, the "quality" in particular areas, such as the 10th and 15th lines of the text has been reduced due to the creation of new error artifacts. Furthermore, it is not at all clear that the legibility of the text has been improved by the repetition of the previous correct line in PPL. In general, it would appear that the human observer could read the text better with the PLW technique.
The NDPL technique used to generate FIG. 4 shows a marked improvement in "legibility" relative to the other processing techniques. This is most striking when one compares the 7th line of the text from the bottom of the page for the PLW and NDPL techniques. Although the "legibility" has improved significantly, the black streaks have a negative impact on the image "quality".